#ifndef INFO_MODEL_SERVICE_H
#define INFO_MODEL_SERVICE_H

#include <boost\thread\mutex.hpp>
#include <map>
#include "objects\base_object.h"
#include <interface\info_model_interface.h>

namespace info_model
{
	class info_model: public info_model_interface
	{
	public:
		bool add_object(object_t obj);
		object_t find(object_type type);
		void remove(object_type type);
	private:
		typedef std::map<object_type, object_t> object_map_t;
		boost::mutex object_mutex;
		object_map_t object_map;
	};
} //end namespace info_model
#endif